#ifndef _NETIMPL_H_
#define _NETIMPL_H_

#include "stdafx.h"

class CNetImpl :   	public	INet,
					public	IPlugin,
					public	IPluginRun,
					public	CUnknownImp
{
public:
    CNetImpl(void);
	virtual ~CNetImpl(void);

	BEGIN_STDCOM_MAP
		STDCOM_INTERFACE_ENTRY_UNKNOWN_(INet)
		STDCOM_INTERFACE_ENTRY(IPlugin)
		STDCOM_INTERFACE_ENTRY(IPluginRun)
		STDCOM_INTERFACE_ENTRY(INet)
	END_STDCOM_MAP

	//IPlugin
	std_method(Init)(int Argc, basic_tchar* Argv[], IBase* pRot, IBase* pBase);
	std_method(Uninit)();
	
	//IPluginRun
	std_method(Start)(_pinstance hInstance, UINT uType);
	std_method(Stop)(UINT uExitCode);

	//INet
	std_method(CreateProtocol)(Net_Protocol netp, IBase** pBase);

private:
	RotPtr			m_pRot;
	AsynFramePtr	m_pIAsynFrame;
	NetPtr			m_pINet;
};

#endif
